#ifndef __TCP_CLIENT_H__
#define __TCP_CLIENT_H__
#include<string>
#include<sstream>
class IpAddressPort;

struct Msg
{
    std::string m_msg;
    int m_numberofRecvBytes;

    Msg(std::string msg, int numberofRecvBytes):m_msg(msg),m_numberofRecvBytes(numberofRecvBytes){}
    std::string ToString()const
    {
        std::stringstream ss;
        ss<<"[recmsg: "<<m_msg<<"],[numberOfByte:"<<m_numberofRecvBytes<<"]";
        return ss.str();
    }
};

// struct Msg
// {
//     std::string m_msg;
//     int m_numberofRecvBytes;

// };

class TcpClient
{
private:
    int m_sfd;
public:
    TcpClient(const IpAddressPort&);
    ~TcpClient();
    int SendMsg(const std::string &msg);
    Msg RecvMsg();
    int GetSfd()const;
};

#endif